package com.clj.ext;

import javax.swing.*;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableColumn;
import java.awt.*;
import java.util.Vector;

/**
 * Author: Harry Chen
 * Date: 2023/02/24 15:58
 * Description: 设置关于表格的各种参数（表头，表格体，渲染方式及多行选择）
 */
public class MainViewTable_clj extends JTable {
    public MainViewTable_clj() {
        //设置表头
        JTableHeader tableHeader = getTableHeader();
        tableHeader.setFont(null);
        tableHeader.setForeground(Color.RED);
        //设置表格体
        setFont(new Font(null, Font.PLAIN, 14));
        setForeground(Color.BLACK);
        setGridColor(Color.BLACK);
        setRowHeight(30);//设置行高
        //设置多行选择
        getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    }


    public void renderRule() {
        //设置表格列的渲染方式
        Vector<String> columns = MainViewTableModel_clj.getColums();
        MainViewCellRender_clj render = new MainViewCellRender_clj();
        for (int i = 0; i < columns.size(); i++) {
            TableColumn column = getColumn(columns.get(i));
            column.setCellRenderer(render);
            if (i == 0) {
                column.setPreferredWidth(50);
                column.setMaxWidth(50);
                column.setResizable(false);
            }
        }
    }

}
